Least to Most論文
https://scrapbox.io/files/65a871bf2db82e00243b9aa0.png
論文情報
タイトル:Least-to-Most Prompting Enables Complex Reasoning in Large Language Models
発行日:2022年5月
著者:Denny Zhou, Nathanael Schärli, Le Hou, Jason Wei, Nathan Scales, Xuezhi Wang, Dale Schuurmans, Claire Cui, Olivier Bousquet, Quoc Le, Ed Chi
所属:Google Research, Brain Team
論文を読んで感じたこと
https://scrapbox.io/files/65a8875b5c932a0023d42d13.png
内省させるより、簡単な問題に分解する方が効果的ということか
一発でバシッとプロンプトを作れるわけではなく、何度か対話を繰り返す手法。少し手間で、現実的にはあまり使い所がないかもしれない(古いし)
概要
CoT (Chain-of-Thought)、様々な自然言語推論タスクにおいて顕著な成果を示しています。しかし、プロンプトに示された例よりも難しい問題を解決する際には性能が落ちる傾向があります。この「易しい問題から難しい問題への一般化」という課題を克服するために、私たちは新しいプロンプト戦略、「Least to Mostプロンプト」を提案します。この戦略の鍵となる考え方は、複雑な問題を一連のより単純なサブプロブレムに分解し、それらを順に解決することです。各サブプロブレムの解決は、先に解決したサブプロブレムの答えによって容易になります。シンボリック操作、組成的一般化、数学推論に関連するタスクにおける実験結果から、Least to Mostプロンプトは、プロンプトに示されたものよりも難しい問題への一般化が可能であることが明らかになりました。特筆すべき発見は、GPT-3のcode-davinci-002モデルをLeast to Mostプロンプトで使用すると、14の例示を使って、組成的一般化ベンチマークのSCANをあらゆる分割(長さ分割を含む)で99%以上の精度で解決できることです。これは、SCANを解決するために特化した文献のニューラルシンボリックモデルが、15,000以上の例を含む全トレーニングセットで訓練されているのに対し、顕著です。すべてのタスクのプロンプトは付録に含まれています。 1章 序論
過去10年間のディープラーニングの大きな成功にもかかわらず、人間の知能と機械学習の間には依然として大きな違いがあります:(1)新しいタスクに直面した場合、人間は通常、わずかな実例からその達成方法を学ぶことができますが、機械学習には大量のラベル付きデータがモデルトレーニングに必要です;(2)人間は自分の予測や決定の背後にある根拠を明確に説明することができますが、機械学習は本質的にブラックボックスです;(3)人間はこれまでに経験したことのないより難しい問題を解決することができますが、機械学習では、訓練とテストの例が通常、同じレベルの難易度にあります。
最近提案されたCoT (Chain-of-Thought)アプローチは、人間の知能と機械知能のギャップを狭めるための重要な一歩です。これは、自然言語の理論とFew-Shotプロンプトのアイデアを組み合わせています。さらに自己一貫性デコーディング(Wang et al., 2022b)を典型的な貪欲デコーディングではなく統合することで、フューショット連鎖思考プロンプトは、数百倍の注釈付き例で訓練された特別に設計されたニューラル・モデルから得られる多くの困難な自然言語処理タスクにおいて、文献にある最先端の結果を大きく上回り、しかも完全に解釈可能である。 しかし、連鎖思考プロンプトには重要な制限があります。それは、デモンストレーションの例よりも難しい問題を一般化する必要があるタスクでのパフォーマンスがしばしば低いことです。例えば、組成的一般化(Lake & Baroni, 2018; Keysers et al., 2020)などです。このような易しい問題から難しい問題への一般化の問題に対処するために、私たちはLeast to Mostプロンプトを提案します。これは、複雑な問題をより簡単なサブプロブレムのリストに分解し、次にこれらのサブプロブレムを順に解決するという2つの段階で構成されています。各サブプロブレムの解決は、以前に解決したサブプロブレムの答えによって容易になります。両方の段階はフューショットプロンプトによって実装されているため、どちらの段階にもトレーニングや[ファインチューニング:はありません。Least to Mostプロンプトの例示的な使用法はFigure 1に示されています。
https://scrapbox.io/files/65a882204363d70024f61e0a.png
「Least to Mostプロンプト」という用語は、教育心理学から借用されたものです(Libby et al., 2008)。これは、新しいスキルを学ぶために学生を支援するために段階的なプロンプトのシーケンスを使用する技術を指します。私たちはこの技術を、人間が言語モデルを教える方法を教えるために適用しています。シンボリック操作、組成的一般化、数学推論に関する実証的な結果から、Least to Mostプロンプトは、示されたものよりも難しい問題への一般化が可能であることが示されています。 2章 Least to Mostプロンプト
Least to Mostプロンプトは、複雑な問題をより単純なサブプロブレムのシリーズに分解することで言語モデルに問題解決方法を教えることを目指しています。これは2つの連続した段階から構成されます:
1. 分解
この段階のプロンプトには、分解を示す一定の例と、分解する特定の質問が含まれます。
2. サブプロブレムの解決
この段階のプロンプトは3つの部分から構成されます:
(1)サブプロブレムがどのように解決されるかを示す一定の例
(2)以前に解答されたサブ質問と生成された解決策のリスト(空の可能性あり)
(3)次に答えられるべき質問。
Figure 1で示される例では、言語モデルに最初に元の問題をサブプロブレムに分解するように求められます。モデルに渡されるプロンプトには、複雑な問題を分解する方法を示す例(図には示されていません)と、分解されるべき特定の問題が含まれています(図に示されています)。言語モデルは、元の問題が「各旅行にどれくらい時間がかかるか」という中間問題を解決することで解決できることを把握します。次の段階では、問題分解段階のサブプロブレムを順に解決するように言語モデルに依頼します。元の問題は最終的なサブプロブレムとして追加されます。解決は、「各旅行にどれくらい時間がかかるか」という最初のサブプロブレムに続いて、問題がどのように解決されるかを示す例(図には示されていません)で構成されたプロンプトを言語モデルに渡すことから始まります。次に、言語モデルによって生成された答え(「...各旅行には5分かかります。」)を取り、以前のプロンプトに生成された答えを追加し、次のサブプロブレム(この例では元の問題)に続けて新しいプロンプトを構築します。次に、新しいプロンプトが言語モデルに戻され、最終的な答えが返されます。
3章 結果
私たちは、シンボリック操作、組成的一般化、数学推論のタスクに対するLeast to Mostプロンプトの結果を提示し、それを連鎖思考プロンプトと比較します。
3.1 シンボリック操作
私たちはLast Letter Concatenationタスクを取り上げます。このタスクでは、各入力が単語のリストであり、対応する出力はリスト内の単語の最後の文字の連結です。例えば、「thinking, machine」は「ge」を出力します。なぜなら「thinking」の最後の文字は「g」で、「machine」の最後の文字は「e」だからです。連鎖思考プロンプトは、テストリストがプロンプト例のリストと同じ長さの場合、完璧な仕事をします。しかし、テストリストがプロンプト例のリストよりもはるかに長い場合、パフォーマンスは低下します。私たちは、Least to Mostプロンプトがこの制限を克服し、長さの一般化においてCoT (Chain-of-Thought)を大幅に上回ることを示します。 https://scrapbox.io/files/65a883641b89b8002428a251.png
表2の例示は、入力を望ましい出力にマッピングする方法を示しています。新しいリストが与えられた場合、まずそれを表1の例示に追加して分解プロンプトを構築し、それを言語モデルに送ってリストの分解を得ます。次に、各サブリストSに対して解決プロンプトを構築します。これは、表2の例示に続いて、以前のサブリスト/レスポンスペア(存在する場合)、そしてSが続きます。これらのプロンプトを順次言語モデルに発行し、最後のレスポンスを最終的な解決策として使用します。
https://scrapbox.io/files/65a883a5c19ef6002209d25c.png
表2の例示を詳しく見る価値があります。基本的に、それらは言語モデルに、以前に解決した問題の答えを使用して新しい問題の答えを構築する方法を教えます:(1)二番目の例示(「think, machine, learning」)のリストは、最初の例示(「think, machine」)のリストの拡張であり、完全に独立したものではありません;(2)「think, machine, learning」へのレスポンスは、「think, machine」の出力を基に構築され、「think, machine」が「ke」と出力することを示す文から始まります。これら2つの例示は、ベースケースと再帰ステップを一緒に示しています。
「最後の文字の連結」タスクの連鎖思考プロンプトコンテキストは表3にリストされています。これは、表2のLeast to Mostプロンプトと同じリストを使用します。
https://scrapbox.io/files/65a883df4f35a6002426878b.png
唯一の違いは、連鎖思考プロンプトでは、二番目のリスト(「think, machine, learning」)へのレスポンスが最初のリスト(「think, machine」)の出力を使用せずにゼロから構築されることです。私たちは、Least to Mostプロンプト(表1および表2)と連鎖思考プロンプト(表3)および標準的なフューショットプロンプトを比較します。標準的なフューショットプロンプトのプロンプトは、連鎖思考プロンプトから中間の説明を取り除くことによって構築されます。つまり、これら2つの例示だけが含まれます:(1)「think, machine」が「ke」と出力する;そして(2)「think, machine, learning」が「keg」と出力する。トレーニングやファインチューニングのベースラインは考慮していません。なぜなら、2つの例に基づく機械学習モデルは非常に貧弱な一般化しかできないからです。 結果
各指定された長さについて、500のリストが構築されます。異なる方法によるGPT-3のcode-davinci-002の精度は、表4に示されています。標準的なプロンプトは全てのテストケースで精度0%と完全に失敗します。連鎖思考プロンプトは標準的なプロンプトよりもパフォーマンスを大幅に向上させますが、特にリストが長い場合にはLeast to Mostプロンプトに大きく遅れをとります。さらに、連鎖思考プロンプトのパフォーマンスは、長さが増すにつれてLeast to Mostプロンプトよりもはるかに速く低下します。付録7.2および7.3では、異なる連鎖思考プロンプトおよび異なる言語モデルでの追加実験を提示しています。
https://scrapbox.io/files/65a884f5f2cf5f0024b3f7f9.png
エラー分析
Least to Mostプロンプトは連鎖思考プロンプトよりも大幅に優れていますが、長いリストに対して100%の精度を達成するにはまだ遠いです。付録7.4では、詳細なエラー分析を提示しています。不正確な最後の文字によるものは非常に少なく、ほとんどが連結エラー(文字の落ち込みまたは追加)であることがわかります。例えば、「gratified, contract, fortitude, blew」というリストでは、モデルが「dte」と「w」の連結の最後の文字を落とし、「dtew」ではなく「dte」と予測しています。「hollow, supplies, function, gorgeous」という別の例では、モデルが何らかの理由で「wsn」と「s」の連結で最後の文字「s」を複製し、予測が「wsns」ではなく「wsnss」となっています。
3.2 組成的一般化
SCAN(Lake & Baroni, 2018)は、組成的一般化を評価するための最も人気のあるベンチマークの一つです。これは、自然言語コマンドをアクションシーケンスにマッピングすることを要求します(表5参照)。
https://scrapbox.io/files/65a88546a750910022f21add.png
シーケンス・トゥ・シーケンスモデルは、トレーニングセット(20,000以上の例の約80%)のアクションシーケンスがテストセットのアクションシーケンスよりも短い場合に、長さの分割で性能が低下します。SCANを解決するために多くの専門的なニューラル・シンボリックモデルが提案されています。私たちは、Least to Mostプロンプトを使用した大規模言語モデルが、わずかなデモンストレーション例を使用してSCANを解決できることを示しています。トレーニングやファインチューニングは必要ありません。Least to Mostプロンプトでは、3.1節の「最後の文字の連結」タスクと同様に、SCAN用の2種類のプロンプトに基づいています:(1)長いコマンドを短いコマンドのリストに分解する方法を示す8つの例示を含むコマンド分解プロンプト(一部の例示は表6に示されています);
https://scrapbox.io/files/65a8859201cbda0024974a37.png
そして(2)自然言語コマンドをアクションシーケンスにマッピングする方法を示す14の例示を含むコマンドマッピングプロンプト(一部の例示は表7に示されています)。
https://scrapbox.io/files/65a885a5fd651e00233c481d.png
分解およびマッピングのための完全なプロンプトコンテキストは、付録8にリストされています。コマンドマッピングプロンプトで使用される例示は、SCANコマンドの意味論を完全にカバーすることを意図しています。私たちは、Least to Mostプロンプトとベースライン(標準フューショットプロンプトと連鎖思考プロンプト)のプロンプトを簡潔にし、言語モデルの入力サイズ制限(通常は2048トークンまで)に合わせるために、Python表記を使用しています。たとえば、私たちのプロンプト設計では、「look twice」を「LOOK LOOK」ではなく「LOOK」 * 2にマッピングします。これらのPython式は単なる中間表現であることを指摘する必要があります。言語モデルからのレスポンスを得た後、ポストプロセッシングスクリプトを実行してPython式を展開し、最終結果を生成します。しかし、言語モデルが式を正しく処理する方法をさらに教えることが可能であることは驚くべきことではありません。付録8.4では、いくつかのデモンストレーション例示を使って、言語モデルがPython式を99.7%のほぼ完璧な精度で展開できることを示しています。
連鎖思考プロンプト
SCAN用の連鎖思考プロンプトは、Least to Mostプロンプト(表7参照)と同じコマンドマッピングコンテキストを使用しますが、Least to Mostプロンプト専用のコマンド分解は使用しません。
結果
Least to Mostプロンプトを、連鎖思考プロンプトおよび標準的なフューショットプロンプトと比較します。標準的なフューショットプロンプトの例示は、連鎖思考プロンプトから中間の説明を取り除いて導出されます。異なるプロンプト方法による異なる言語モデルの精度は、表8に示されています。例の出力は付録8.3にあります。code-davinci-002を使用したLeast to Mostプロンプトは、長さの分割で99.7%の精度を達成しています。また、Least to MostプロンプトをSCANの他のすべての分割および完全なSCANデータセットでテストしました。その解決率は同じままであることがわかりました。さらに、どのプロンプト方法に関わらず、code-davinci-002はtext-davinci-002よりも一貫して性能が向上していることに注目することが興味深いでしょう。
https://scrapbox.io/files/65a88699aaa4a800229ad0cb.png
エラー分析
長さの分割のテストセットでは、Least to Mostプロンプトで合計13の失敗がありました:そのうち6つは「around」に続く「twice」および「thrice」の誤解釈であり、残りは「after」を「and」と誤解釈しています。「walk opposite right twice after run around right thrice」という例では、code-davinci-002は「run around right」を正しく(「TURN RIGHT」+「RUN」)* 4に翻訳します。しかし、この式に「thrice」を適用する際にミスを犯し、(「TURN RIGHT」+「RUN」)* 9を生成してしまいます。これは、(「TURN RIGHT」+「RUN」)* 4 * 3または(「TURN RIGHT」+「RUN」)* 12であるべきです。「run opposite left thrice after run around left twice」という例では、code-davinci-002は「after」で繋がれた両方のサブ式を正しく翻訳しますが、「and」で繋がれたかのようにそれらを組み合わせます。つまり、モデルは(「TURN LEFT」* 2 +「RUN」)* 3 +(「TURN LEFT」+「RUN」)* 4 * 2を生成しますが、これは(「TURN LEFT」+「RUN」)* 4 * 2 +(「TURN LEFT」* 2 +「RUN」)* 3であるべきです。詳細なエラー分析は付録8.2.3にあります。
3.3 数学推論
このセクションでは、Least to MostプロンプトをGSM8K(Cobbe et al., 2021)およびDROP(Dua et al., 2019)の数学の言葉の問題に適用します。私たちは、大規模言語モデルがLeast to Mostプロンプトと組み合わせて、プロンプトで見られるものよりも難しい問題を解決できるかどうかに特に関心があります。ここでは、単に解決ステップの数で難易度を測定します。GSM8Kを解決するために設計されたプロンプトは表9に示されています。 https://scrapbox.io/files/65a886d4c19ef600220a26c6.png
デモンストレーション例示は2つの部分から構成されています。最初の部分(「この問題を分解してみましょう...」から始まる)は、元の問題がより単純なサブプロブレムにどのように分解されるかを示し、2番目の部分は、サブプロブレムが順番にどのように解決されるかを示します。このプロンプトは分解とサブプロブレム解決を1回のパスで組み合わせます。代わりに、前のセクションのLeast to Mostプロンプトのように、分解とサブプロブレム解決用にそれぞれ異なるプロンプトを設計することもでき、これによりパフォーマンスがさらに向上するかもしれません。ここでは、このシンプルなLeast to Mostプロンプトが、単純な2ステップ問題からより複雑な多ステップ問題へどのように一般化するかを調査することに焦点を当てています。
https://scrapbox.io/files/65a886fba85d4d0023a432bd.png
これは、Least to Mostプロンプト(表9)から分解部分を取り除いて導出されます。結果は表11に示されています。
https://scrapbox.io/files/65a88711a2f629002391d433.png
全体として、Least to Mostプロンプトは連鎖思考プロンプトをわずかに改善するだけです:60.97%から62.39%へ。しかし、Least to Mostプロンプトは、少なくとも5ステップを解く必要がある問題を解決する点でCoT (Chain-of-Thought)プロンプトを本質的に改善しています:39.07%から45.23%へ(表12)。 https://scrapbox.io/files/65a8875b5c932a0023d42d13.png
GSM8Kのほとんどの問題は、Least to Mostプロンプトで解決できなかった場合でも、手作業で作成した分解を使用することで最終的に解決できることがわかりました。DROPベンチマークでは、Least to Mostプロンプトが連鎖思考プロンプトよりも大きなマージンで優れています(表11)。これは、DROPのほとんどの問題が簡単に分解できるためでしょう。
4章 関連研究
組成的一般化に関する研究
SCAN(Lake & Baroni, 2018)は組成的一般化を評価するために広く使用されるベンチマークです。その中で最も挑戦的なのは長さの分割で、モデルがトレーニングのシーケンスよりも長いテストシーケンスに一般化することが求められます。これまでのSCANでの優れたパフォーマンスを持つ研究は、主にニューラルシンボリックアーキテクチャ(Chen et al., 2020; Liu et al., 2020)や文法誘導技術(Nye et al., 2020; Shaw et al., 2021; Kim, 2021)を提案しています。Chen et al.(2020)は、ニューラルネットワークをコントローラとして使用し、与えられた入力に対して実行トレースを生成し、シンボリックスタックマシンを使用してトレースを実行し出力を生成するニューラルシンボリックスタックマシンを提案しました。Liu et al.(2020)は、入力構造とシンボリック文法規則を共同で学習するコンポーザーとソルバーという2つのニューラルモジュールを協力的に学習するフレームワークを提案しました。Nye et al.(2020)とShaw et al.(2021)はSCANのシンボリック文法規則を推測し、Kim(2021)は潜在的なニューラル文法を学習することを提案しました。これらのシンボリックコンポーネントを持つアプローチは、SCANで100%の精度を達成していますが、大規模な文法空間でのモデルトレーニングと文法推論アルゴリズムが必要です。他のSCANに関する研究では、データ拡張スキームを設計しています(Andreas, 2020; Akyurek et al. ¨ , 2021; Lake, 2019)。これらのデータ拡張技術は、いくつかの組成的一般化ベンチマークのパフォーマンスを向上させますが、SCANの長さの分割を解決することはできません。他の先行研究では、組成的一般化を改善するためにモデルが単語とスパンマッピング(Russin et al., 2019; Li et al., 2019)、入力と出力のスパンツリーとのアライメント(Herzig & Berant, 2021)、入力と出力単語の順列同値性(Gordon et al., 2020)を学習するようにネットワークアーキテクチャを提案しています。しかし、これらのエンドツーエンドのニューラルネットワークはシンボリックコンポーネントなしでは長いテスト入力に一般化することはありません。既存の作業とは異なり、私たちはモデルアーキテクチャや組成的一般化を改善するために特別に設計されたシンボリックコンポーネントなしで、Least to Mostプロンプトがいくつかのデモンストレーション例を使用して99.7%の精度で任意の分割(長さの分割を含む)を達成し、トレーニングやファインチューニングが必要ないことを実証します。 易しい問題から難しい問題への一般化
組成的一般化に加えて、テストケースがトレーニング例よりも多くの推論ステップを必要とする他の多くのタスクがあります。例えば、最後の文字の連結タスクは、テストリストがデモンストレーション例よりも長いです。Dong et al.(2019)は、帰納的学習と論理推論のためのニューラルロジックマシン(NLM)を提案します。NLMは、小規模なタスク(例えば、小規模なブロック世界)で訓練されると、大規模なタスク(例えば、大規模なブロック世界)に完全に一般化できます。Schwarzschild et al.(2021)は、単純な問題を少ない再帰ステップ(小規模な迷路やチェスパズルなど)で解決するために訓練されたリカレントネットワークが、推論中に追加の再帰を実行することでより複雑な問題(大規模な迷路やチェスパズルなど)を解決できることを示しています。私たちの方法では、複雑な問題をより簡単な問題のシリーズに分解することで、易しい問題から難しい問題への一般化を達成します。
タスク分解
Perez et al.(2020)は、マルチホップ質問を独立したシングルホップサブ質問の数に分解し、既製の質問応答(QA)モデルでそれらの回答を集約して最終的な回答を形成します。Wang et al.(2022a)は、プロンプトを連続する仮想トークンとしてモデル化し、反復的なプロンプトを通じて言語モデルから関連知識を段階的に引き出すことによってマルチホップQAを行います。これらの方法とは異なり、私たちのアプローチはトレーニングやファインチューニングを含みません。さらに、Least to Mostプロンプトで生成されるサブ質問は通常依存しており、一定の順序で順次解決されなければならず、一部のサブ質問への回答が他のサブ質問を解決するための構成要素として使用されます。Yang et al.(2022)は、質問をSQLクエリに翻訳するために、質問をSQL句に対応するスロット充填自然言語プロンプトのシーケンスに分解するルールベースのシステムを提案しています。Wu et al.(2022)は、大規模言語モデルのステップを連鎖させ、一つのステップの出力を次のステップの入力とすることを提案し、ユーザーがチェーンを構築および修正するためのインタラクティブなシステムを開発しました。Least to Mostプロンプトは、問題分解とサブプロブレム解決のプロセスを連鎖させます。 5章 制約
分解プロンプトは一般に異なるドメイン間でうまく一般化されません。例えば、数学の言葉の問題を分解するプロンプト(表9参照)は、一般的な常識推論問題(例えば「アリストテレスはラップトップを使ったか?」(Geva et al., 2021))を大規模言語モデルに教えるのに効果的ではありません。これらの問題タイプに最適なパフォーマンスを達成するためには、新しいプロンプトを設計して分解を示す必要があります。
同じドメイン内でも分解を一般化することは難しい場合があります。私たちは、GSM8Kのほぼすべての問題が、大規模言語モデルにその困難な問題の正しい分解が提供されれば正確に解決できることを観察しました。これは驚くべきことではなく、数学問題を解決する経験と一致しています。いつでも数学問題を解けるより単純なサブプロブレムに分解できれば、本質的に元の問題を解決していることになります。最後の文字の連結タスクとSCANベンチマークで顕著な結果が得られたのは、これらのタスクでの分解が比較的直接的であるためです。
6章 結論と議論
私たちは、プロンプトの例よりも難しい問題を解決するために、Least to Mostプロンプトを導入しました。このアプローチは、問題のトップダウン分解とボトムアップ解決生成という二重のプロセスを含みます。シンボリック操作、組成的一般化、数学推論を含む私たちの実証的な発見は、Least to Mostプロンプトが標準的なプロンプトと連鎖思考プロンプトを大幅に上回ることを示しています。 一般に、プロンプトは大規模言語モデルに推論スキルを教えるための最適な方法ではないかもしれません。プロンプトは、我々が言語モデルに指示を与える一方通行のコミュニケーション形態と見なすことができます。自然な進展として、プロンプトを完全に双方向の会話に進化させ、言語モデルに即時のフィードバックを可能にし、より効率的かつ効果的な学習を促進することが考えられます。Least to Mostプロンプト技術は、このような双方向の相互作用を通じて言語モデルに指導する方向への一歩を表しています。